package com.cheetah.start.module.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cheetah.start.module.system.domain.SysMenu;
import com.cheetah.start.module.system.domain.SysRoleMenu;

import java.util.List;

public interface SysRoleMenuService extends IService<SysRoleMenu> {


    /**
     * 角色 id 菜单
     *
     * @param roleId 角色id
     * @return {@link List}<{@link SysMenu}>
     */
    List<SysMenu> getMenuByRoleId(Integer roleId);

    /**
     * 添加
     *
     * @param roleId  角色id
     * @param menuIds 菜单id
     * @return boolean
     */
    boolean add(Integer roleId, String[] menuIds);

    /**
     * 通过角色id删除
     *
     * @param roleId 角色id
     * @return boolean
     */
    boolean removeByRoleId(Integer roleId);

    /**
     * 通过菜单id删除
     *
     * @param menuId 菜单id
     * @return boolean
     */
    boolean removeByMenuId(Integer menuId);


    /**
     * 权限
     *
     * @param adminId 管理员id
     * @return {@link List}<{@link String}>
     */
    List<String> getPermissionByAdminId(Integer adminId);

    /**
     * 角色列表
     *
     * @param roleId 角色id
     * @return {@link List}<{@link SysRoleMenu}>
     */
    List<SysRoleMenu> getListByRoleId(Integer roleId);

}
